package com.bifang.module.file.core.common;

import com.bifang.engine.assistant.core.domain.AppResponse;
import com.bifang.module.file.common.vo.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/** 文件服务 */
public interface FileService {

    /** 文件流上传 */
    FileUploadResVO upload(FileInfoVO fileInfoVO, MultipartFile file);

    /** base64文件上传 */
    FileUploadResVO uploadBase64(FileInfoVO fileInfoVO);

    /** 文件下载 */
    FileLogVO dwonload(FileInfoVO fileInfoVO, HttpServletResponse response,String signature,String timestamp);

    /** 获取base64文件 */
    AppResponse getBase64(FileInfoVO fileInfoVO,String signature,String timestamp);

    /** 文件删除 */
    FileLogVO deleteFile(FileInfoVO fileInfoVO,String signature,String timestamp);

    /** 转发显示文件 */
    FileLogVO showFile(FileInfoVO fileInfoVO, HttpServletResponse response,Boolean isSendRedirect,String signature,String timestamp);
    /** 获取文件分类信息 */
    FileClassVO getFileClass(FileInfoVO fileInfoVO);
    /**已上传到文件服务器上的图片压缩**/
    FileLogVO imgCompress(FileInfoVO fileInfoVO);
    /**对已上传的图片文件批量压缩**/
    int batchImgCompress(BatchImgCompressVO batchImgCompressVO);
}
